#!/bin/bash

# SqlToy 自动填充功能测试脚本
# 用于测试Creator和Updater字段的自动填充功能

API_BASE="http://localhost:8080/api"

echo "==================================="
echo "SqlToy 自动填充功能测试"
echo "==================================="

echo ""
echo "1. 测试创建用户（Creator和Updater自动填充）"
echo "-----------------------------------"

# 创建用户
USER_RESPONSE=$(curl -s -X POST "${API_BASE}/user?name=测试用户&age=25")
echo "创建用户响应: $USER_RESPONSE"

# 提取用户ID
USER_ID=$(echo $USER_RESPONSE | grep -o '"id":"[^"]*"' | cut -d'"' -f4)
echo "创建的用户ID: $USER_ID"

if [ -n "$USER_ID" ]; then
    echo ""
    echo "2. 测试查询用户（验证Creator和Updater字段）"
    echo "-----------------------------------"
    
    # 查询用户
    QUERY_RESPONSE=$(curl -s "${API_BASE}/user/${USER_ID}")
    echo "查询用户响应: $QUERY_RESPONSE"
    
    echo ""
    echo "3. 测试更新用户（Updater字段自动更新）"
    echo "-----------------------------------"
    
    # 更新用户
    UPDATE_RESPONSE=$(curl -s -X PUT "${API_BASE}/user/${USER_ID}?name=更新后的用户名")
    echo "更新用户响应: $UPDATE_RESPONSE"
    
    echo ""
    echo "4. 再次查询用户（验证Updater字段被更新）"
    echo "-----------------------------------"
    
    # 再次查询用户
    FINAL_QUERY_RESPONSE=$(curl -s "${API_BASE}/user/${USER_ID}")
    echo "最终查询响应: $FINAL_QUERY_RESPONSE"
    
    echo ""
    echo "5. 测试创建订单（Creator和Updater自动填充）"
    echo "-----------------------------------"
    
    # 创建订单
    ORDER_RESPONSE=$(curl -s -X POST "${API_BASE}/order?userId=${USER_ID}&amount=99.99")
    echo "创建订单响应: $ORDER_RESPONSE"
    
else
    echo "用户创建失败，跳过后续测试"
fi

echo ""
echo "==================================="
echo "测试完成"
echo "==================================="